describe('visiter test', () => {
  //执行测试用例之前的操作，一个describe()或context()内有多少个
  beforeEach(()=>{
  //打开网址
   cy.visit('http://localhost:80')
   cy.visit('http://localhost:80/static/html/index.html')
  })
  /* 搜索职位*/
    it('search jobs', () => {
        //找到职位搜索
        //首页的按钮
        cy.contains('查找职位').click()
        cy.pause()
        //回到首页
        cy.contains('主页').click()
        //首页的搜索框
        cy.get("#jobName").type('软件')
        cy.get("#jobWorkaddr").type('天津')
        cy.pause()
        cy.get("#search-btn").click()
        cy.pause()
        //回到首页
        cy.contains('主页').click()
        //通过导航栏
        cy.get('#nav').children().eq(1).click()
        cy.scrollTo('bottom')
        cy.wait(3000)
        //分页测试

        cy.get('[class=pagination-list]').should('be.visible')//获取父元素
        .children()//获取子元素
        .its('length').then(count=>{
         if(count>0){
         const middleIndex = Math.floor(count / 2);
         cy.get('[class=pagination-list]')//获取父元素
                         .children()//获取所有的子元素
                         .eq(middleIndex)  // 获取中间元素
                         .click();
         }
         else{
         cy.log('子元素个数为0');
         }
        })
        cy.pause()
        cy.get('[class=pagination-list]')//获取父元素
                                 .children()//获取所有的子元素
                                 .eq(0)  // 获取第一个
                                 .click();
        //两个条件的职位搜索
        cy.get('.search-inner').children().eq(0).within(()=>{
        cy.get('input').eq(0).type('软件')
        cy.get('input').eq(1).type('天津')
        cy.get('button').eq(0).click()
        cy.pause()
        //可以仿照上面两个框的

        })

        //更多条件的职位搜索

        cy.get('.search-inner')
          .children().eq(1)
          .within(()=>{
                cy.get('button').eq(0).click()
                cy.pause()
                })
        //多条件
        //职业类型
        cy.get('[name="jobType"]')
          .select(1)
          .invoke('val')
        //城市
        cy.get('[name="cityFilter"]')
                  .select(0)
                  .invoke('val')
        //薪资范围
        cy.contains('薪资范围').next().children()
        .eq(0).type('10')
        cy.contains('薪资范围').next().children()
                .eq(1).type('10')

        //刷新时间
         cy.get('[name="refreshTime"]')
                   .select(0)
                   .invoke('val')
         //经验
         cy.get('[name="experience"]')
                            .select(0)
                            .invoke('val')
         //学历
         cy.get('[name="education"]')
            .select(0)
            .invoke('val')
         //简单描述
         cy.get('[name="desc"]')
            .type('计算机')
          //多条件搜索
        cy.get('.search-inner').children().eq(0)
        .within(()=>{
        cy.get('button').eq(0).click()
          cy.pause()
        })
        //点击查看职位详情
        cy.scrollTo('top')
        cy.get('[class="job-button"]').eq(2).realHover().wait(3000).click()
        cy.pause()

        //点击投递
        cy.contains('现在申请').click()
        cy.pause()
        //点击投诉
        cy.contains('投诉职位').click()
        cy.pause()
        cy.get("#comphone").type("1234567890")
        cy.get("#comemail").type("test@qq.com")
        cy.get("#comsubject").type("测试主题")
        cy.get("#commessage").type("测试投诉内容")
        cy.contains("提交信息").click()
        cy.pause()

      })
  //论坛功能
  it('visit forum', () => {
    //找到导航栏的论坛
    cy.get('#nav').children().eq(3).click()

    cy.wait(3000)
    cy.scrollTo('bottom')
            cy.wait(2000)
            //分页测试

            cy.get('[class=pagination-list]').should('be.visible')//获取父元素
            .children()//获取子元素
            .its('length').then(count=>{
             if(count>0){
             const middleIndex = Math.floor(count / 2);
             cy.get('[class=pagination-list]')//获取父元素
                             .children()//获取所有的子元素
                             .eq(middleIndex)  // 获取中间元素
                             .click();
             }
             else{
             cy.log('子元素个数为0');
             }
            })
            cy.pause()
       //热门动态查看
       cy.get("#hotblogtemplateid")
       cy.pause()
      //关键字搜索博客
      cy.get("#searchblogid").clear().type('科')
      cy.get("#searchblogid").next().click()
      cy.pause()
      cy.get("#searchblogid").clear().type('计算机 科学，测试')
      cy.get("#searchblogid").next().click()
      cy.pause()

     //查看博客详情
    cy.get('[class=pagination-list]')//获取父元素
             .children()//获取所有的子元素
             .eq(0)  // 获取第一个
             .click()



    cy.get('#blogtemplateid')
    .children().eq(0)
    .children().within(()=>{
                  cy.get('.content-body').within(()=>{
                  cy.contains('阅读更多').click()
                  })
                  })

    cy.pause()
    cy.get('div.tox-editor-container')
    //手动输入评论吧
    cy.pause()
    cy.get('#postcommentbtnid').click()
    cy.pause()
    //回退到前一个
    cy.go('back');
    cy.reload()//刷新
    cy.pause()
    //写博客

    cy.contains("写博客").click()
    cy.pause()
    cy.get("#addblogtitle").clear().type("添加测试博客")
    cy.get("#blogtagsid").clear().type("测试， cypress")

    cy.get('div.tox-editor-container')
        //手动输入博客内容测试

    cy.pause()
    cy.get("#postblogtbtnid").click()
    cy.pause()
    //到最后一页看博客
    cy.scrollTo('bottom')
                cy.wait(2000)
                //分页测试

                cy.get('[class=pagination-list]').should('be.visible')//获取父元素
                .children()//获取子元素
                .its('length').then(count=>{
                 if(count>2){
                 //const middleIndex = Math.floor(count / 2);
                 cy.get('[class=pagination-list]')//获取父元素
                                 .children()//获取所有的子元素
                                 .eq(count-2)  // 获取最后一页内容
                                 .click();
                 }
                 else{
                 cy.log('子元素个数为0');
                 }
                })
                cy.pause()
                //跳到主页
                cy.contains('主页').click()
    //cy.get('').type('输入新的评论')
  })
  //联系我们
  it('contact us', () => {
      cy.contains('联系我们').click()
      cy.pause()
      cy.get("#comemail").type('123@qq.com')
      cy.get("#comphone").type('11234523')
      cy.get("#comsubject" ).type('联系')
      cy.get("#commessage").type('联系测试')
      cy.contains("提交信息").click()

  })
  //注册hr
    it('register hr', () => {
    cy.get("#loginsignupbarid").contains("注册").click()
    cy.get("#hrsigncheckbox").click()
    //注册公司
    cy.get("#hrcompanysignup").click()
          cy.get('[name="companyname"]').type("测试注册公司名")
          cy.get('[name="USCC"]').type("测试USCC")
          cy.get('[name="BRN"]').type("111111")
          cy.get('[name="operationstatus"]').select(2).invoke('val')
          cy.get('[name="Comptype"]').type("测试企业类型")
          cy.get('[name="busscope"]').type("测试经营范围")
          cy.get('[name="indsector"]').type("测试所属行业")
          cy.get('[name="Legalrep"]').type("测试法定代表人")
          cy.get('[name="registercap"]').type("测试企业注册资本")
          cy.get('[name="estabdate"]').type("1900-1-1")
          cy.get('[name="operatperiod"]').type("测试经营期限")
          cy.get('[name="registerauth"]').type("测试登记机关")
          cy.get('[name="registeraddr"]').type("更新注册地址")
          cy.get("#companysignupbtn").click()


    cy.pause()
    //hr注册
   cy.contains("注册").click()
    cy.get("#hrsigncheckbox").click()
    cy.get('[name="phone"]').type('123')
    cy.get("#inputpwd").type('123')
    cy.get("#confirmpwd").type('123')
    cy.get("#signupname").type('测试注册hr')
    cy.get("#hrsignuppos").type('开发工程师')
    cy.get('#hrsignupcompany').select(3).invoke('val')
    cy.get('#signupbtn').click()
    cy.pause()
    //用注册的hr登录
    cy.get("#loginsignupbarid").contains("登录").click()
             cy.get('#phone').type('123')
             cy.get('#password').type('123')
             cy.get('#hrlogincheckbox').should('be.visible').click()
             cy.get('#loginform > div.form-group.mb-8.button > button').should('be.visible').click()
            cy.pause()
    //退出登录
    cy.get('#shownamebarliid')
    .realHover()
    .within(() => {
            cy.get('.sub-menu')
            .children()
            .eq(0).should('be.visible').click()
             })



    })
    //注册seeker，登陆后退出登录
    it('register seeker', () => {
        cy.get("#loginsignupbarid").contains("注册").click()
            cy.get("#employeesigncheckbox").click()
            cy.get('[name="phone"]').type('10')
                cy.get("#inputpwd").type('10')
                cy.get("#confirmpwd").type('10')
                cy.get("#signupname").type('测试注册seeker')

            cy.get("#seekersignemail").type('seeker@qq.com')
            cy.get("#seekersigngender").select(0).invoke('val')
            cy.get("#seekersigndate").realHover()
            cy.pause()//输入日期
            cy.get("#seekerisedu").select(0).invoke('val')
            cy.get("#signupbtn").click()
            cy.pause()
            //seeker登录
                  cy.get("#loginsignupbarid").contains("登录").click()
                     cy.get('#phone').type('10')
                     cy.get('#password').type('10')
                     cy.get('#employeelogincheckbox').should('be.visible').click()
                     cy.get('#loginform > div.form-group.mb-8.button > button').should('be.visible').click()
                     cy.pause()
            //退出登录
             cy.get('#shownamebarliid')
                .realHover()
                .within(() => {
                        cy.get('.sub-menu')
                        .children()
                        .eq(0).should('be.visible').click()
                         })
      })

})

